package cqrtplm.mapper;

import cqrtplm.vo.query.AdvancedQueryConditionVO;
import cqrtplm.vo.query.AdvancedQueryConfig;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

public interface  AdvancedQueryMapper {
    List<Map<String, Object>> advancedQuery(
            @Param("config") AdvancedQueryConfig config,
            @Param("conditions") List<AdvancedQueryConditionVO> conditions,
            @Param("params") Map<String, Object> queryParams
    );

    List<Map<String, Object>> advancedPagedQuery(
            @Param("config") AdvancedQueryConfig config,
            @Param("conditions") List<AdvancedQueryConditionVO> conditions,
            @Param("params") Map<String, Object> queryParams
    );

    int advancedQueryCount(
            @Param("config") AdvancedQueryConfig config,
            @Param("conditions") List<AdvancedQueryConditionVO> conditions,
            @Param("params") Map<String, Object> queryParams
    );
}
